([fn1,fn2,fn3,fn4][Math.random()*4>>0])();怎么回事

来源:百度知道 编辑:UC知道 时间:2024/06/17 09:32:27
function fn1 () {
trace("你来啦欢迎啊");
}
function fn2 () {
trace("来了你别走啊 ");
}
function fn3 () {
trace("你这么才来啊");
}
function fn4 () {
trace("就猜到你要来");
}
([fn1,fn2,fn3,fn4][Math.random()*4>>0])();
最后一句是怎么回事?
就可以这么规定他是数组啊?也不用说一声

[fn1,fn2,fn3,fn4] 是个函数数组
Math.random()*4>>0 随机生成0,1,2,3这4个数字 为随机数
([fn1,fn2,fn3,fn4][Math.random()*4>>0])随机返回fn1-4中的一个方法
()代表方法调用
;代表语句结束

这句话是说
在fn1,fn2,fn3,fn4中随机选取一个方法 进行调用

这是数组 匿名常量数组啊